import { JsonOutputParser } from "@langchain/core/output_parsers";
import { PromptTemplate } from "@langchain/core/prompts";
import { ChatOllama } from "@langchain/ollama";

const parser = new JsonOutputParser();

// const pt = PromptTemplate.fromTemplate(
//   `请提供以下城市的信息，并以 JSON 格式输出：城市：{city}`
// );
const pt = PromptTemplate.fromTemplate(
  `请提供以下城市的信息，并以 JSON 格式输出：城市：{city}, 需要的字段有：name、country、location、population`
);

const model = new ChatOllama({
  model: "llama3",
  temperature: 0.3,
});

const chain = pt.pipe(model).pipe(parser);

const res = await chain.invoke({
  city: "北京",
});

console.log(res);
